#pragma region 邻接矩阵定义
#define MaxVertexNum  100
//定义能存储的足够大的顶点个数
typedef char VertexType;
// VertexType为顶点类型，设为字符型
typedef int EdgeType;
// EdgeType为边的权值类型，设为整型
typedef struct
{
    VertexType vexs[MaxVertexNum];             //顶点表
    EdgeType edgs[MaxVertexNum][MaxVertexNum]; //邻接矩阵
    int n, e;                                  //实际的顶点数和边数
} MGragh;
#pragma endregion
#pragma region 【算法5 - 1】建立一个有向图的邻接矩阵存储
void CreateMGraph(MGraph *G)
{ //建立有向图G的邻接矩阵存储，N,E是图的顶点个数和边的个数
    int i, j, k, w;
    char ch; //设图的顶点信息为字符型
    for (i = 0; i < N; i++)
        scanf("%c", &(G->vexs[i]));
    //输入顶点信息，建立顶点表
    for (i = 0; i < N; i++)
        for (j = 0; j < N; j++)
            G->edges[i][j] = 0; //初始化邻接矩阵
    for (k = 0; k < E; k++)
    {
        scanf("%d,%d", &i, &j);
        //依次输入e条边，每一条边用顶点的序号对偶表示
        G->edges[i][j] = 1;
        //若为无向图，还要建立(i,j)边，即：G->edges[i][j]=1;
    }
}
#pragma endregion
